Storage medium having stored therein image processing program, image processing apparatus, image processing system, and image processing method

ABSTRACT

A plurality of polygons are placed in a 3-dimensional virtual space. Each of plural types of first textures corresponding to plural types of attributes which the plurality of polygons have is mapped to the polygon that has the attribute of the type corresponding to the first texture, the 3-dimensional virtual space is shot by a first virtual camera, and thereby a main image is generated. In addition, each of the plural types of second textures corresponding to plural types of attributes which the plurality of polygons have is mapped to the polygon that has the attribute of the type corresponding to the second texture, the 3-dimensional virtual space is shot by a second virtual camera, and thereby a main image is generated.

CROSS REFERENCE TO RELATED APPLICATION

The disclosure of Japanese Patent Application No. 2010-132400, filed onJun. 9, 2010, is incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field Of The Invention

The present invention relates to a storage medium having stored thereina game processing program for generating an image obtained by shooting a3-dimensional virtual space by a virtual camera, and a map imageobtained by shooting the 3-dimensional virtual space, for example, fromabove, and relates to an image processing apparatus, an image processingsystem, and an image processing method for generating the same.

2. Description of the Background Art

Conventionally, there is known a technique of shooting a 3-dimensionalvirtual space by a virtual camera to display the resultant image, andalong with this, displaying a map of the 3-dimensional virtual space.For example, a game system disclosed in Japanese Laid-Open PatentPublication No. 2003-325973 displays a 3-dimensional game screen of agame space which is a 3-dimensional virtual space as viewed from a givenviewpoint, and a 2-dimensional map which is a planar view of the gamespace as viewed from above.

However, the game system disclosed in Japanese Laid-Open PatentPublication No. 2003-325973 separately stores data for configuring the3-dimensional virtual space and data for configuring the 2-dimensionalmap. Therefore, the sizes of a necessary storage medium (optical disc,ROM, etc.) and a memory (RAM etc.) for temporarily storing data fordepicting an image increase. In addition, if a plurality of3-dimensional virtual spaces (game stages) are present, data of2-dimensional maps corresponding to the respective 3-dimensional virtualspaces must be prepared. Therefore, also in this respect, the sizes of anecessary storage medium and a necessary memory increase.

SUMMARY OF THE INVENTION

Therefore, an object of the present invention is to provide a storagemedium and the like, the storage medium having stored therein an imageprocessing program capable of generating a 3-dimensional image (mainimage) representing a 3-dimensional virtual space, and a map image ofthe 3-dimensional virtual space while saving the storage spaces of astorage medium (optical disc, ROM, etc.) to be used and a memory (RAMetc.) for temporarily storing data for depicting an image.

The present invention has the following features to solve the aboveproblems.

The present invention is a computer-readable storage medium havingstored therein an image processing program which is executed by acomputer of an image processing apparatus which places a plurality ofpolygons in a 3-dimensional virtual space, the image processingapparatus including storage means for storing plural types of attributeswhich the plurality of polygons have, plural types of first texturescorresponding to the plural types of attributes, and plural types ofsecond textures corresponding to the plural types of attributes. Theimage processing causes the computer to function as main imagegeneration means and map image generation means. The main imagegeneration means maps each of the plural types of first textures to thepolygon that has the attribute of the type corresponding to the firsttexture, shoots the 3-dimensional virtual space, by a first virtualcamera, and thereby generates a main image. The map image generationmeans maps each of the plural types of second textures to the polygonthat has the attribute of the type corresponding to the second texture,shoots the 3-dimensional virtual space, by a second virtual camera, andthereby generates a main image.

Thus, since the map image generation means maps the second textures tothe polygon that has the attribute of the type corresponding to thesecond texture, and thereby generates the map image, it is not necessaryto separately prepare data of the map image corresponding to the mainimage as in the conventional technique. As a result, the storage spacesof a storage medium and a memory (optical disc, ROM, RAM, etc.) can besaved.

In addition, the plural types of attributes stored in the storage meansmay include plural types of first attributes for the main image, andplural types of second attributes for the map image; each of the pluraltypes of first textures may correspond to one of the plural types offirst attributes; each of the plural types of second textures maycorrespond to one of the plural types of second attributes; the mainimage generation means may map each of the plural types of firsttextures to the polygon that has the first attribute of the typecorresponding to the first texture, shoot the 3-dimensional virtualspace by the first virtual camera, and thereby generate the main image;and the map image generation means may map each of the plural types ofsecond textures to the polygon that has the second attribute of the typecorresponding to the second texture, shoot the 3-dimensional virtualspace by the second virtual camera, and thereby generate the map image.

Thus, the first attribute and the second attribute of one polygon can bedifferent from each other. As a result, a map image, a part of or theentirety of, which does not correspond to the main image can begenerated. For example, in the case where the main image is a gameimage, the map image can represent a past map (terrain) corresponding tothe present game image.

In addition, the image processing program may further cause the computerto function as: placement determination means for determining, for atleast the polygon that is to be placed in a shooting area of the secondvirtual camera, whether or not the second attribute of the polygon is ofa type that causes the polygon to be placed; and polygon placement meansfor placing the plurality of polygons in the 3-dimensional virtualspace. The polygon placement means may place, in the 3-dimensionalvirtual space, at least all the polygons that are to be placed in ashooting area of the first virtual camera, when the main imagegeneration means generates the main image, and may place, in the3-dimensional virtual space, only a polygon having the second attributeof the type that causes the polygon to be placed, among at least thepolygons that are to be placed in the shooting area of the secondvirtual camera, when the map image generation means generates the mapimage.

Thus, since a map image in which things unnecessary to be represented asa map are omitted can be generated, the map image is easy to view as amap.

In addition, the image processing program may further cause the computerto function as: polygon placement means for placing the plurality ofpolygons in the 3-dimensional virtual space; and mapping determinationmeans for determining, for at least the polygon placed in a shootingarea of the second virtual camera, whether or not the second attributeof the polygon is of a type that causes one of the plural types ofsecond textures to be mapped to the polygon. The map image generationmeans may map, only to the polygon that has the second attribute thathas been determined by the mapping determination means to be of the typethat causes one of the plural types of second textures to be mapped tothe polygon, the second texture of the type corresponding to the secondattribute.

Thus, since a map image in which things unnecessary to be represented asa map are omitted can be generated, the map image is easy to view as amap.

In addition, the 3-dimensional virtual space shot by the main imagegeneration means may be identical to the 3-dimensional virtual spaceshot by the map image generation means.

Thus, since the main image and the map image can be generated from one3-dimensional virtual space, the storage spaces of a storage medium anda memory (optical disc, ROM, RAM, etc.) can be saved. In addition, at astage of manufacturing programs, when shapes formed by a plurality ofpolygons in the 3-dimensional virtual space are changed, a map image tobe generated is also changed along with the change of the shapes, andtherefore, a load on manufacturers of programs is reduced.

In addition, the first virtual camera may shoot in any direction, andthe second virtual camera may shoot in a fixed direction.

Thus, the map image is an image viewed from a fixed direction. As aresult, the viewpoint of the map image is fixed, positions can be easilyunderstood, and the map image is easy to view as a map.

In addition, the second virtual camera may shoot by parallel projection.

As a result, the map image is easy to view as a map.

In addition, an image size of the second texture may be smaller than animage size of the first texture.

Thus, since the size of data of the second textures can be reduced, thestorage spaces of a storage medium and a memory (optical disc, ROM, RAM,etc.) can be saved.

In addition, the map image generation means may perform mapping to thepolygons that have the same type of attribute, in a lump.

Thus, the speed of processing of mapping to polygons increases.

In addition, the map image generation means may map, to each of theplurality of polygons, a plurality of the second textures of the typecorresponding to the polygon, such that the plurality of second texturesare arranged on the polygon.

Thus, even in the case where the image size of the second texture issignificantly smaller than the size of a polygon to which the secondtexture is to be applied, the second texture can be applied to thepolygon efficiently.

In addition, the map image generation means may screen-capture, as araster graphic image, an image shot by the second virtual camera, andthereby generates the map image.

Thus, since the raster graphic image generated by screen-capturing isdisplayed as the map image, it is not necessary to perform complexcalculation processing such as rendering processing every time the mapimage is displayed. As a result, a load of processing for displaying amap image is reduced.

In addition, the storage means may store a first object and a secondobject that represent the same character, the main image generationmeans may shoot the 3-dimensional virtual space in which the firstobject is placed, and the map image generation means may shoot the3-dimensional virtual space in which the second object is placed.

Thus, it is possible to set a display state of a character on the mainimage and a display state of the corresponding character on the mapimage to be different from each other.

In addition, the image processing program may further cause the computerto function as: vertical direction position determination means fordetermining, for at least the polygon that is to be placed in a shootingarea of the second virtual camera, whether or not a value indicating theposition in the vertical direction of the polygon is larger than apredetermined value; and polygon placement means for placing theplurality of polygons in the 3-dimensional virtual space. The polygonplacement means may place, in the 3-dimensional virtual space, at leastall the polygons that are to be placed in a shooting area of the firstvirtual camera, when the main image generation means generates the mainimage, and may place, in the 3-dimensional virtual space, only apolygon, a value indicating the position in the vertical direction ofwhich has been determined to be not larger than the predetermined valueby the vertical direction position determination means, among at leastthe polygons that are to be placed in the shooting area of the secondvirtual camera, when the map image generation means generates the mapimage.

Thus, since a polygon whose position in the vertical direction is high(polygon at a high position in the game space, e.g., a polygon forming atree) is not placed, a portion that will be hidden by such a polygon(for example, a road under the tree) can be displayed on the map image.

In addition, the first virtual camera may be identical to the secondvirtual camera.

In the above, the ease where the present invention is configured as acomputer-readable storage medium having stored therein an imageprocessing program, is described. However, the present invention may beconfigured as an image processing apparatus, an image processing system,and an image processing method.

The present invention can provide a storage medium and the like, thestorage medium having stored therein an image processing program capableof generating a 3-dimensional image (main image) representing a3-dimensional virtual space, and a map image of the 3-dimensionalvirtual space while saving the storage spaces of a storage medium(optical disc, ROM, etc.) to be used and a memory (RAM etc.) fortemporarily storing data for depicting an image.

These and other objects, features, aspects and advantages of the presentinvention will become more apparent from the following detaileddescription of the present invention when taken in conjunction with theaccompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an external view of a game system 1 including a game apparatus3 according to one embodiment of the present invention;

FIG. 2 is a block diagram of an internal configuration of the gameapparatus 3;

FIG. 3 is a perspective view of a controller 7 seen from a top rear sidethereof;

FIG. 4 is a perspective view of the controller 7 seen from a bottomfront side thereof;

FIG. 5 is a perspective view of the controller 7 as seen from a rearside thereof in a state where an upper housing (a part of a housing 71)thereof is removed;

FIG. 6 is a perspective view of the controller 7 as seen from a frontside thereof in a state where a lower housing (a part of the housing 71)thereof is removed;

FIG. 7 is a block diagram showing a configuration of the controller 7;

FIG. 8 is a drawing showing an example of a game image of a game assumedin the present embodiment;

FIG. 9 shows a player operating an extended controller 36 and thecontroller 7;

FIG. 10 shows an example of a map image of the game assumed in thepresent embodiment;

FIG. 11 is a diagram showing a memory map of an external main memory 12of the game apparatus 3;

FIG. 12 is an example of a flowchart of game processing executed by aCPU 10;

FIG. 13 is an example of a flowchart of game image drawing processingexecuted by a GPU 11 b;

FIG. 14 is a diagram for explaining the position, direction (shootingdirection), and angle of view of a game image camera;

FIG. 15 is an example of a flowchart of map image drawing processingexecuted by the GPU 11 b;

FIG. 16 is a diagram showing an example of the position and direction(shooting direction) of a map image camera;

FIG. 17 is a diagram for explaining an area of a capture map image to bedisplayed as a map image;

FIG. 18 is another example of a flowchart of the map image drawingprocessing executed by the GPU 11 b; and

FIG. 19 is a diagram showing another example of the position anddirection (shooting direction) of the map image camera.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

The following will describe an embodiment of the present invention withreference to the drawings. It is noted that the present invention is notlimited by the embodiment.

(Whole Configuration of Game System)

First, with reference to FIG. 1, the following will describe a wholeconfiguration of a game system 1 including a game apparatus according tothe embodiment of the present invention. FIG. 1 is an external view ofthe game system 1. Hereinafter, the game system 1 using a stationarygame apparatus will be used as an example, and the game apparatus and agame program according to the present embodiment will be described. Asshown in FIG. 1, the game system 1 includes a television receiver(hereinafter, referred to merely as a television) 2, a game apparatus 3,an optical disc 4, a controller 7, an extended controller 36, and amarker section 8. The game system 1 executes game processing at the gameapparatus 3 in accordance with a game operation using the controller 7and the extended controller 36.

The optical disc 4 as an example of an exchangeable information storagemedium replaceably used with respect to the game apparatus 3 isdetachably inserted in the game apparatus 3. The optical disc 4 stores agame program which is to be executed by the game apparatus 3. The gameapparatus 3 has an insertion slot at its front surface. The gameapparatus 3 reads and executes the game program stored in the opticaldisc 4 which is inserted in the insertion slot for executing the gameprocessing.

The television 2 as an example of a display device is connected to thegame apparatus 3 via a connection cord. The television 2 displays gameimages which are obtained as the result of the game processing executedby the game apparatus 3. The marker section 8 is mounted adjacent to thescreen of the television 2 (on the upper surface of the screen in FIG.1). The marker section 8 has a marker 8R and a marker 8L at its oppositeends, respectively. The marker 8R has one or more infrared LEDs whichoutput infrared lights forward from the television 2. The marker 8L hasthe same configuration as the marker 8R. The marker section 8 isconnected to the game apparatus 3, and the game apparatus 3 is capableof controlling illumination of each infrared LED of the marker section8.

The controller 7 is an input device which provides the game apparatus 3with operation data which indicates contents of operations made to thecontroller 7 and the extended controller 36 described later. Thecontroller 7 is connected to the game apparatus 3 by wirelesscommunication. In the present embodiment, the technology of, forexample, Bluetooth (registered trademark) is used for the wirelesscommunication between the controller 7 and the game apparatus 3. It isnoted that in an alternative embodiment, the controller 7 may beconnected to the game apparatus 3 via a wire.

The extended controller 36 is an input apparatus that gives a content ofan operation performed for the extended controller 36 to the controller7, and is connected to the controller 7 via a connection cable. Inaddition, the extended controller 36 has an analog stick 39 enabling aninput in an analog form.

(Internal Configuration of Game Apparatus 3)

The following will describe an internal configuration of the gameapparatus 3 with reference to FIG. 2. FIG. 2 is a block diagram showingan internal configuration of the game apparatus 3. The game apparatus 3includes a CPU 10, a system LSI 11, an external main memory 12, aROM/RTC 13, a disc drive 14, an AV-IC 15, and the like.

The CPU 10 executes the game processing by executing the game programstored in the optical disc 4, and functions as a game processor. The CPU10 is connected to the system LSI 11. In addition, the external mainmemory 12, the ROM/RTC 13, the disc drive 14, and the AV-IC 15 areconnected to the system LSI 11. The system LSI 11 performs processingsuch as control of data transfer between the system LSI 11 and eachcomponent connected to the system LSI 11, generation of an image to bedisplayed, obtaining data from an external device, and the like. Aninternal configuration of the system LSI 11 will be described later. Thevolatile external main memory 12 stores a program such as the gameprogram read from the optical disc 4, a game program read from a flashmemory 17, and the like, and various data, and is used as a work regionand a buffer region for the CPU 10. The ROM/RTC 13 includes a ROM(so-called boot ROM) which stores a program for starting up the gameapparatus 3, and a clock circuit (RTC: Real Time Clock) for countingtime. The disc drive 14 reads program data and texture data from theoptical disc 4, and writes these data into an internal main memory 11 e,which will be described later, or the external main memory 12.

The system LSI 11 is provided with an input-output processor 11 a, a GPU(Graphics Processor Unit) 11 b, a DSP (Digital Signal Processor) 11 c, aVRAM lid, and the internal main memory 11 e. Although not shown in thedrawings, these components 11 a to 11 e are connected to each other viaan internal bus.

The GPU 11 b forms a part of drawing means, and generates an imageaccording to a graphics command (command for generating graphics) fromthe CPU 10. More specifically, the GPU 11 b performs computingprocessing required for displaying 3D graphics, for example, performsprocessing of coordinate conversion from 3D coordinates into 2Dcoordinates which is performed prior to rendering, and processing ofrendering such as attaching texture, thereby generating a game image anda map image. It is noted that although being described later, data ofthe map image is converted (screen-captured) to paint data by the GPU 11b. Here, in addition to the graphics command, the CPU 10 provides theGPU 11 b with an image generation program required for generating thegame image data and the like. It is noted that in the description below,data such as polygon data and texture data, which are required for theGPU 11 b to execute the graphics command, is stored in the external mainmemory 12, but the data may be stored in the VRAM 11 d. In generating animage, the GPU lid creates the image data using the data stored in theexternal main memory 12.

The DSP lie functions as an audio processor, and generates audio datausing sound data and sound waveform (tone color) data which are storedin the internal main memory 11 e and the external main memory 12. Likethe external main memory 12, the internal main memory 11 e stores aprogram and various data, and is used as a work region and a bufferregion for the CPU 10.

The image data and the sound data generated thus are read by the AV-IC15. The AV-IC 15 outputs the image data to the television 2 via an AVconnector 16, and the sound data to speakers 2 a built in the television2. Thus, an image is displayed on the television 2, and sound isoutputted from the speakers 2 a.

The input-output processor (I/O process) 11 a performs transmission andreception of data to and from each component connected to theinput-output processor 11 a, and downloads data from an external device.The input-output processor 11 a is connected to the flash memory 17, awireless communication module 18, a wireless controller module 19, anextended connector 20, and a memory card connector 21. An antenna 22 isconnected to the wireless communication module 18, and an antenna 23 tothe wireless controller module 19.

The input-output processor 11 a is connected to a network via thewireless communication module 18 and the antenna 22, so that theinput-output processor 11 a is communicable with another game apparatusconnected to the network and various servers connected to the network.The input-output processor 11 a periodically accesses the flash memory17 to detect whether there are data required to be transmitted to thenetwork. If there are such data, the input-output processor 11 atransmits the data to the network via the wireless communication module18 and the antenna 22. The input-output processor 11 a receives datatransmitted from the other game apparatus and data downloaded from adownload server via the network, the antenna 22 and the wirelesscommunication module 18, and stores the received data in the flashmemory 17. The CPU 10 reads the data stored in the flash memory 17 byexecuting the game program, and uses the data in the game program. Inaddition to the data transmitted or received between the game apparatus3 and the other game apparatus and various servers, the flash memory 17may store saved data (result data or midstream data of the game) of thegame played using the game apparatus 3.

The input-output processor 11 a receives operation data transmitted fromthe controller 7 via the antenna 23 and the wireless controller module19, and stores (temporarily stores) the operation data in the bufferregion of the internal main memory 11 e or the external main memory 12.

In addition, the extended connector 20 and the memory card connector 21are connected to the input-output processor 11 a. The extended connector20 is a connector for an interface such as USB and SCSI, and thecommunication with the network is enabled by connecting a medium such asan external storage medium, a peripheral device such as the extendedcontroller 36, or a wired connector for communication to the extendedconnector 20 instead of the wireless communication module 18. The memorycard connector 21 is a connector for connecting thereto an externalstorage medium such as a memory card. For example, the input-outputprocessor 11 a accesses the external, storage medium via the extendedconnector 20 and the memory card connector 21 for storing data in theexternal storage medium and reading data from the external storagemedium.

The game apparatus 3 is provided with a power button 24, a reset button25, and an eject button 26. The power button 24 and the reset button 25are connected to the system LSI 11. When the power button 24 is turnedon, electric power is supplied to each component of the game apparatus 3via an AC adaptor (not shown). In the state where the power has beenturned on, the power button 24 is pressed to shift to a low powerstandby mode. Even in the low power standby mode, electric power issupplied to the game apparatus 3. Because electric power is alwayssupplied to the game apparatus 3, the game apparatus 3 can be alwaysconnected to a network such as the Internet even in this state. Forturning off the power once the power is turned on, the power button 24is pressed for a predetermined period of time or longer. The resetbutton 25 is pressed to cause the system LSI 11 to restart a bootprogram of the game apparatus 3. The eject button 26 is connected to thedisc drive 14. The eject button 26 is pressed to eject the optical disc4 from the disc drive 14.

The following will describe the controller 7 with reference to FIGS. 3and 4. FIG. 3 is a perspective view of the controller 7 seen from a toprear side thereof, and FIG. 4 is a perspective view of the controller 7seen from a bottom front side thereof.

As shown in FIGS. 3 and 4, the controller 7 includes a housing 71 and anoperation section 72 including a plurality of operation buttons whichare provided on surfaces of the housing 71. The housing 71 of thepresent embodiment has a generally parallelepiped shape extending in alongitudinal direction from front to rear. The overall size of thehousing 71 is small enough to be held by one hand of an adult or even achild, and, for example, the housing 71 is formed by plastic molding.

At the center of a front part of a top surface of the housing 71, across key 72 a is provided. The cross key 72 a is a cross-shapedfour-direction push switch. The cross key 72 a includes operationportions corresponding to four directions (front, rear, right and left),which are respectively located on cross-shaped projecting portionsarranged at intervals of 90 degrees. A player selects one of the front,rear, right and left directions by pressing one of the operationportions of the cross key 72 a. Through an operation of the cross key 72a, the player can, for example, indicate a direction in which a playerobject or the like appearing in a virtual game world is to move, orselect an option from a plurality of options.

The cross key 72 a is an operation section for outputting an operationsignal in accordance with the above-described direction input operationperformed by the player. Such an operation section may be provided inanother form. For example, the cross key 72 a may be replaced with anoperation section which includes four push switches arranged in a squareand which outputs an operation signal in accordance with the push buttonpressed by the player. In addition to the four push switches of theoperation section, a center switch may be provided at the center of thefour push switches to form a composite operation section including thefour push switches and the center switch. Alternatively, the cross key72 a may be replaced with an operation section which includes aninclinable stick (or joystick) projecting from a top surface of thehousing 71 and which outputs an operation signal in accordance with aninclining direction of the stick. Still alternatively, the cross key 72a may be replaced with an operation section which includes a disc-shapedand horizontally slidable member and which outputs an operation signalin accordance with a sliding direction of the disc-shaped member. Stillalternatively, the cross key 72 a may be replaced with a touch pad.

Behind the cross key 72 a on the top surface of the housing 71, aplurality of operation buttons 72 b to 72 g are provided. The operationbuttons 72 b to 72 g are each an operation section for, when the playerpresses a head thereof, outputting a corresponding operation signal. Forexample, functions as a number one button, a number two button and an Abutton are assigned to the operation buttons 72 b to 72 d, respectively.Also, functions as a minus button, a home button and a plus button areassigned to the operation buttons 72 e to 72 g, respectively. Operationfunctions are assigned to the operation buttons 72 b to 72 g inaccordance with the game program executed by the game apparatus 3. In anexemplary arrangement shown in FIG. 3, the operation buttons 72 b to 72d are arranged in a line at the center in a front-rear direction on thetop surface of the housing 71. The operation buttons 72 e to 72 g arearranged on the top surface of the housing 71 in a line in a left-rightdirection between the operation buttons 72 b and 72 d. The operationbutton 72 f has a top surface thereof buried in the top surface of thehousing 71, so as not to be inadvertently pressed by the player.

In front of the cross key 72 a on the top surface of the housing 71, anoperation button 72 h is provided. The operation button 72 h is a powerswitch for turning on and off the power to the game apparatus 3 byremote control. The operation button 72 h also has a top surface thereofburied in the top surface of the housing 71, so as not to beinadvertently pressed by the player.

Behind the operation button 72 c on the top surface of the housing 71, aplurality of LEDs 702 are provided. Here, a controller type (number) isassigned to the controller 7 such that the controller 7 isdistinguishable from the other controllers 7. The LEDs 702 are used for,for example, informing the player of the controller type which iscurrently set for the controller 7. More specifically, when thecontroller 7 transmits transmission data to the game apparatus 3, one ofthe plurality of LEDs 702 which corresponds to the controller type ofthe controller 7 is lit up.

On the top surface of the housing 71, a plurality of holes is providedbetween the operation button 72 b and the operation buttons 72 e to 72 gfor emitting sound from a speaker (a speaker 706 in FIG. 5), which willbe described later, to the outside therethrough.

On a bottom surface of the housing 71, a recessed portion is formed. Asdescribed later in detail, the recessed portion is formed in a positionin which an index finger or middle finger of the player is located whenthe player holds the controller 7 such that the front surface thereoffaces the makers 8L and 8R. On a slope surface of the recessed portion,an operation button 72 i is provided. The operation button 72 i is anoperation section functioning as, for example, a B button.

On a front surface of the housing 71, an image pickup element 743constituting a part of an imaging information calculation section 74 isprovided. The imaging information calculation section 74 is a system foranalyzing image data of an image taken by the controller 7, therebyidentifying an area having a high brightness in the image and detectinga position of a center of gravity, a size and the like of the area. Theimaging information calculation section 74 has, for example, a maximumsampling period of about 200 frames/sec, and therefore can trace andanalyze even a relatively fast motion of the controller 7. Aconfiguration of the imaging information calculation section 74 will bedescribed later in detail. On a rear surface of the housing 71, aconnector 73 is provided. The connector 73 is, for example, an edgeconnector, and is used for engaging and connecting the controller 7 witha connection cable.

For giving a more specific description, a coordinate system set withrespect to the controller 7 will be defined. 3 and 4, mutuallyperpendicular x-axis, y-axis, and z-axis are defined with respect to thecontroller 7. More specifically, the longitudinal direction of thehousing 71 or the front-rear direction of the controller 7 correspondsto z-axis, and the direction toward the front surface of the controller7 (the surface in which the imaging information calculation section 74is provided) is a positive direction of z-axis. The up-down direction ofthe controller 7 corresponds to y-axis, and the direction toward the topsurface of the housing 71 (the surface on which the operation button 72a is provided) is a positive direction of y-axis. As shown in FIGS. Theleft-right direction of the controller 7 corresponds to x-axis, and thedirection toward the right side surface housing 71 (the side surfacewhich is not shown in FIG. 3 but shown in FIG. 4) is a positivedirection of x-axis.

The following will describe an internal structure of the controller 7with reference to FIGS. 5 and 6. FIG. 5 is a perspective view of thecontroller 7 as seen from a rear side thereof in a state where an upperhousing (a part of a housing 71) thereof is removed. FIG. 6 is aperspective view of the controller 7 as seen from a front side thereofin a state where a lower housing (a part of the housing 71) of thecontroller 7 is removed. Here, FIG. 6 shows a reverse side of asubstrate 700 shown in FIG. 5.

As shown in FIG. 5, the substrate 700 is fixed inside the housing 71. Ona top main surface of the substrate 700, the operation buttons 72 a to72 h, an acceleration sensor 701, the LEDs 702, and an antenna 754 andthe like are provided. These components are connected to a microcomputer751, and the like (see FIGS. 6 and 7) by lines (not shown) formed on thesubstrate 700 and the like. The microcomputer 751 functions to generateoperation data in accordance with a type of the operation button 72 aand the like. This function is a known technique, and achieved, forexample, by the microcomputer 751 detecting contact/non-contact of theline by a switch mechanism such as a tact switch located below a keytop.More specifically, the operation button is pressed to contact with theline, thereby conducting a current therethrough. The microcomputer 751detects which operation button the line, in which the current conductionoccurs, leads to, and generates a signal in accordance with a type ofthe operation button.

The controller 7 functions as a wireless controller by a wireless module753 (see FIG. 7) and the antenna 754. In the housing 71, a crystaloscillator (not shown) is provided for generating a basic clock of themicrocomputer 751, which will be described later. On the top mainsurface of the substrate 700, the speaker 706 and an amplifier 708 areprovided. The acceleration sensor 701 is provided on the left side ofthe operation button 72 d on the substrate 700 (i.e. on the periphery ofthe substrate 700, not on the center thereof). The acceleration sensor701 is capable of detecting acceleration included in a component causedby a centrifugal force in accordance with rotation of the controller 7about the longitudinal direction thereof, in addition to change ofdirection of gravitational acceleration. Thus, the game apparatus 3 orthe like can be sensitive enough to determine the rotation of thecontroller 7 from detected acceleration data using a predeterminedcalculation.

As shown in FIG. 6, at a front edge of a bottom main surface of thesubstrate 700, the imaging information calculation section 74 isprovided. The imaging information calculation section 74 includes aninfrared filter 741, a lens 742, the image pickup element 743 and animage processing circuit 744 which are located in this order from thefront surface of the controller 7. These components are attached to thebottom main surface of the substrate 700. At a rear edge of the bottommain surface of the substrate 700, the connector 73 is attached. On thebottom main surface of the substrate 700, a sound IC 707 and themicrocomputer 751 are provided. The sound IC 707 is connected to themicrocomputer 751 and the amplifier 708 by lines formed on the substrate700 and the like, and outputs a sound signal to the speaker 706 via theamplifier 708 in accordance with the sound data transmitted from thegame apparatus 3.

On the bottom main surface of the substrate 700, a vibrator 704 isattached. The vibrator 704 is, for example, a vibration motor or asolenoid. The vibrator 704 is connected to the microcomputer 751 by aline formed on the substrate 700 and the like, and actuated orunactuated in accordance with vibration data transmitted from the gameapparatus 3. The controller 7 is vibrated by an actuation of thevibrator 704, and the vibration is conveyed to the player holding thecontroller 7. Thus, a so-called vibration-feedback game is realized.Because the vibrator 704 is located in the front portion of the housing71, the housing 71 is vibrated substantially, and hence the playerholding the controller 7 easily feels the vibration.

The following will describe an internal constitution of the controller 7with reference to FIG. 7. FIG. 7 is a block diagram showing an internalconfiguration of the controller 7.

As shown in FIG. 7, the controller 7 includes therein a communicationsection 75 in addition to the operation section 72, the imaginginformation calculation section 74, the acceleration sensor 701, thevibrator 704, the speaker 706, the sound IC 707, and the amplifier 708.

The imaging information calculation section 74 includes the infraredfilter 741, the lens 742, the image pickup element 743, and the imageprocessing circuit 744. The infrared filter 741 allows, among lightsincident on the front surface of the controller 7, only an infraredlight to pass therethrough. The lens 742 converges the infrared lightwhich has passed through the infrared filter 741, and outputs theinfrared light to the image pickup element 743. The image pickup element743 is a solid-state image pickup element such as a CMOS sensor or aCCD. The image pickup element 743 takes an image of the infrared lightcollected by the lens 742. In other words, the image pickup element 743takes an image of only the infrared light which has passed through theinfrared filter 741. Then, the image pickup element 743 generates imagedata of the image. The image data generated by the image pickup element743 is processed by the image processing circuit 744. More specifically,the image processing circuit 744 processes the image data obtained fromthe image pickup element 743, detects a part of the image which has ahigh brightness, and outputs, to the communication section 75, processresult data indicating the result of calculation of position coordinatesand the area of the part. It is noted that the imaging informationcalculation section 74 is fixed to the housing 71 of the controller 7.An imaging direction of the imaging information calculation section 74can be changed by changing a facing direction of the housing 71. Asignal in response to the position and the motion of the controller 7can be obtained based on the processing result data outputted from thisimaging information calculation section 74.

The controller 7 preferably includes a three-axis (x-axis, y-axis, andz-axis) acceleration sensor 701. The three-axis acceleration sensor 701detects linear accelerations in three directions, i.e., an up-downdirection, a left-right direction, and a front-rear direction. In analternative embodiment, a two-axis accelerometer which detects onlylinear acceleration along each of the up-down direction and theleft-right direction (the other pair of directions) may be useddepending on the type of control signals used in the game processing. Asa non-limiting example, the two-axis or three-axis acceleration sensor701 may be of the type available from Analog Devices, Inc. or STMicroelectronics N.V. In addition, the acceleration sensor 701 may be ofelectrostatic capacitance or capacitance-coupling type which is based onsilicon micro-machined MEMS (microelectromechanical systems) technology.However, any other suitable accelerometer technology (e.g.,piezoelectric type or piezoresistance type) now existing or laterdeveloped may be used to provide the two-axis or three-axis accelerationsensor 701.

As one skilled in the art understands, accelerometers which can be usedin the acceleration sensor 701, are only capable of detectingacceleration along a straight line (linear acceleration) correspondingto each axis of the acceleration sensor. In other words, the directoutput of the acceleration sensor 701 is limited to signals indicativeof linear acceleration (static or dynamic) along each of the one, two orthree axes thereof. As a result, the acceleration sensor 701 cannotdirectly detect movement along a non-linear (e.g. arcuate) path,rotation, rotational movement, angular displacement, inclination,position, attitude or any other physical characteristic.

However, through processing by a computer such as the processor of thegame apparatus (e.g. the CPU 10) or the processor of the controller 7(e.g. the microcomputer 751) based on the linear acceleration signalsoutputted from the acceleration sensor 701, additional informationrelating to the controller 7 can be inferred or calculated, as oneskilled in the art will readily understand from the description herein.For example, when the processing is performed by the computer on theassumption that the controller 7 provided with the acceleration sensor701 is in static state (or when the processing is performed while onlygravitational acceleration is detected by the acceleration sensor 701),if the controller 7 is actually in static state, the detectedacceleration is used to determine whether or not the controller 7 isinclined relative to the direction of gravity or how many degrees thecontroller 7 is inclined relative to the direction of gravity. Morespecifically, when a state where the detection axis of the accelerationsensor 701 extends in a vertically-down direction is set as a standardstate, it is possible to determine whether or not the controller 7 isinclined by determining whether 1G (gravitational acceleration) isapplied in the direction of the detection axis of the accelerationsensor 701. It is also possible to determine how many degrees thecontroller 7 is inclined with respect to the vertically downwarddirection by determining the magnitude of the acceleration applied inthe above detection axis direction. In addition, in the case of amulti-axis acceleration sensor, it is possible to determine in detailhow many degrees each axis is inclined relative to the direction ofgravity through processing of a signal of acceleration detected for eachaxis. In this case, a processor may perform processing based on theoutput from the acceleration sensor 701 for calculating inclinationangle data of the controller 7. Alternatively, processing may beperformed so as to infer rough inclination of the controller 7 based onthe output from the acceleration sensor 701 without calculating theinclination angle data. As described above, the acceleration sensor 701is used in combination with the processor to determine inclination,attitude or position of the controller 7. On the other hand, on theassumption that the acceleration sensor 701 is in dynamic state, theacceleration sensor 701 detects acceleration corresponding to motion ofthe acceleration sensor 701 in addition to a gravitational accelerationcomponent. Thus, it is possible to determine the direction of the motionof the controller 7 by eliminating the gravitational accelerationcomponent through predetermined processing. More specifically, variousmovements and/or positions of the controller 7 can be calculated orinferred through processing of the acceleration signal generated by theacceleration sensor 701 when the controller 7 provided with theacceleration sensor 701 is subjected to dynamic acceleration by the handof the player. It is noted that even on the assumption that theacceleration sensor 701 is in dynamic state, it is possible to determineinclination of the controller 7 relative to the direction of gravity byeliminating acceleration corresponding to motion of the accelerationsensor 701 through predetermined processing. In an alternativeembodiment, the acceleration sensor 701 may include an embedded signalprocessor or other type of a dedicated processor for performing anydesired processing of the acceleration signals outputted fromaccelerometers therein prior to outputting signals to the microcomputer751. For example, the embedded or dedicated processor could convert thedetected acceleration signal into a corresponding tilt angle (or anothersuitable parameter) when the acceleration sensor 701 is intended todetect static acceleration (i.e., gravitational acceleration).

The communication section 75 includes the microcomputer 751, a memory752, the wireless module 753, and the antenna 754. The microcomputer 751controls the wireless module 753 for wirelessly transmitting thetransmission data while using the memory 752 as a storage area duringprocessing. The microcomputer 751 controls the operations of the soundIC 707 and the vibrator 704 in accordance with the data which thewireless module 753 receives from the game apparatus 3 via the antenna754. The sound IC 707 processes the sound data and the like transmittedfrom the game apparatus 3 via the communication section 75. Themicrocomputer 751 actuates the vibrator 704 in accordance with thevibration data (e.g. a signal for actuating or unactuating the vibrator704) transmitted from the game apparatus 3 via the communication section75.

Data from the controller 7 including an operation signal (key data) fromthe operation section 72, acceleration signals (acceleration data ofdirections of x-axis, y-axis, and z-axis which is hereinafter referredto merely as acceleration data) from the acceleration sensor 701, andthe process result data from the imaging information calculation section74 are outputted to the microcomputer 751. The microcomputer 751temporarily stores the input data (the key data, the acceleration data,and the process result data) in the memory 752 as the transmission datawhich is to be transmitted to the wireless controller module 19. Thewireless transmission from the communication section 75 to the wirelesscontroller module 19 is performed periodically at a predetermined timeinterval. Because game processing is generally performed at a cycle of1/60 sec., data needs to be collected and transmitted at a cycle of ashorter time period. Specifically, the game processing unit is 16.7 ms (1/60 sec.), and the transmission interval of the communication section75 structured using the Bluetooth is 5 ms. At the transmission timing tothe wireless controller module 19, the microcomputer 751 outputs thetransmission data stored in the memory 752 as a series of operationinformation to the wireless module 753. The wireless module 753 uses,for example, the Bluetooth to modulate the operation data onto a carrierwave of a predetermined frequency and to radiate the resultant radiosignal from the antenna 754. Thus, the key data from the operationsection 72 provided in the controller 7, the acceleration data from theacceleration sensor 701, and the process result data from the imaginginformation calculation section 74 are modulated into the radio signalby the wireless module 753 and transmitted from the controller 7. Thewireless controller module 19 of the game apparatus 3 receives the radiosignal, and the game apparatus 3 demodulates or decodes the radio signalto obtain the series of operation information (the key data, theacceleration data, and the process result data). Based on the obtainedoperation information and the game program, the CPU 10 of the gameapparatus 3 performs the game processing. In the case where thecommunication section 75 is structured using the Bluetooth, thecommunication section 75 can have a function of receiving transmissiondata which is wirelessly transmitted from another device.

[Outlines of Game and Drawing Processing Assumed in the PresentEmbodiment]

Next, with reference to FIG. 8 to FIG. 10, the outlines of a game anddrawing processing assumed in the present embodiment will be described.The game assumed in the present embodiment is a game in which a playerobject moves in a 3-dimensional virtual space (hereinafter, referred toas a game space).

FIG. 8 is an example of a game image (main image) of the game assumed inthe present embodiment. As shown in FIG. 8, a player object 101 isdisplayed in a game image. It is noted that other objects (enemy object,weapon object, or the like) can be displayed in the game image thoughnot being displayed in FIG. 8. In the game, as shown in FIG. 8, the gameimage is shot by a virtual camera (hereinafter, referred to as a gameimage camera) placed in back of the player object 101 from a so-calledthird person viewpoint, whereby the game image is depicted. In addition,the game has a plurality of stages including an island stage, a mountainstage, a grassland stage, a town stage, and the like. Then, if apredetermined condition such as a condition that a stage is cleared issatisfied, a stage where the game progresses is switched. It is notedthat in FIG. 8, a game image of the island stage is shown.

The player operates the player object 101 while, for example, holdingthe extended controller 36 by the left hand and holding the controller 7by the right hand, the extended controller 36 being connected to theconnector 73 of the controller 7, as shown in FIG. 9. Here, the extendedcontroller 36 has the analog stick 39 enabling an input in an analogform. The player can move the player object 101 through operations ofgiving an input of the up, down, right, or left direction to the analogstick 39.

In addition, when a game image is displayed on the television 2, theplayer can switch the game image (see FIG. 8) displayed on thetelevision 2 to a map image (see FIG. 10) by pressing the plus button(see 72 g in FIG. 3) of the controller 7. As shown in FIG. 10 as anexample, the map image is an image representing a map of a game stagecurrently represented by the game image, and the position of the playerobject 101 is displayed. In addition, the player can enlarge or reduce(zoom in or out) the displayed map image by pressing the right or leftoperation portion of the cross key (see 72 a in FIG. 3) of thecontroller 7. For example, if the left operation portion of the crosskey (see 72 a in FIG. 3) is pressed, the map image is reduced (zoomedout), and if the right operation portion of the cross key (see 72 a inFIG. 3) is pressed, the map image is enlarged (zoomed in). In addition,when the map image is displayed on the television 2, the player canswitch (return) the map image (see FIG. 10) displayed on the television2 to the game image (see FIG. 8) by pressing the plus button (see 72 gin FIG. 3) of the controller 7.

In the game space, shapes such as terrain, constructions, and charactersare formed by multiple polygons. An attribute for a game image(hereinafter, referred to as a game image attribute), and an attributefor a map image (hereinafter, referred to as a map image attribute) areassigned to each of the multiple polygons. Each of the game imageattribute and the map image attribute is one of “grass”, “water”,“soil”, “sand”, “rock”, and the like. In principle, the game imageattribute and the map image attribute assigned to one polygon are thesame attributes. For example, if the game image attribute assigned to apolygon is “soil”, in principle, the map image attribute assigned to thepolygon is also “soil”. However, there is an exception that the gameimage attribute and the map image attribute assigned to one polygon aredifferent. For example, the map image attributes include an attributeindicating “nothing”. Specifically, even if the game image attributeassigned to a polygon is “soil”, the map image attribute assigned to thepolygon can be “nothing”. As is described later, if the map imageattribute of “nothing” is thus assigned to a polygon, the polygon is notdrawn on the map image, and thereby the map image can be prevented frombeing complicated unnecessarily. In addition, for example, even if thegame image attribute assigned to a polygon is “soil”, the map imageattribute assigned to the polygon can be “water”. If the map imageattribute is thus set to be different from the game image attribute, themap image can represent a map of a sea present in the past in a placethat is soil (a land) at the present and was water (a sea) in the past,for example.

Moreover, when a game image is to be depicted, shapes such as terrain,constructions, and characters are formed by multiple polygons in thegame space, textures for game images (hereinafter, referred to as gameimage textures) corresponding to the respective game image attributesassigned to the polygons are applied (mapped) to the respectivepolygons. For example, if the game image attribute assigned to a polygonis “grass”, a texture corresponding to “grass” (that is, a game imagetexture representing grass) is applied to the polygon. Thus, after gameimage textures are applied to all polygons present within the shootingarea of the game image camera, the game space is shot by the game imagecamera and thereby a game image is generated.

On the other hand, also when a map image is to be drawn, similarly tothe drawing of a game image, shapes such as terrain, constructions, andcharacters are formed by multiple polygons in the game space. However,at this time, a polygon to which the map image attribute of “nothing” isassigned is not formed in the game space. Thus, an object (for example,a pebble, a fallen leaf, a fallen branch, or a small puddle) that doesnot need to be displayed in the map image which is used as a map can beexcluded from the map image. As a result, an easily viewable map imagewhich is prevented from being complicated unnecessarily and becomingdifficult to view, is generated. Thereafter, textures for map images(hereinafter, referred to as map image textures) corresponding to therespective map image attributes assigned to the polygons formed in thegame space are applied (mapped) to the respective polygons. For example,if the map image attribute assigned to a polygon is “grass”, a texturecorresponding to “grass” (that is, a map image texture representing“grass”) is applied to the polygon. Thus, after map image textures areapplied to all polygons formed in the game space, the entirety of thegame space (that is, the present game stage) is shot by a virtual camerafor map image (hereinafter, referred to as a map image camera) fromabove by parallel projection. Thereafter, a shot image is converted(screen-captured) to 2-dimensional image data (paint data). Then, adesignated area of an image represented by the 2-dimensional image datais displayed as a map image (see FIG. 10) on the television 2.

Since a map image is drawn by the above processing, in the presentembodiment, it is not necessary to separately prepare map imagescorresponding to respective game stages as in conventional art, and theamounts of usages of storage media such as the optical disc 4, andmemories such as a ROM and a RAM can be reduced.

[Detail of Game Process]

Next, the detail of a game process executed by the game apparatus 3 willbe described. First, data to be stored in the external main memory 12when the game process is performed will be described. FIG. 11 is adiagram showing a memory map of the external main memory 12 of the gameapparatus 3. As shown in FIG. 11, the external main memory 12 includes aprogram storage area 300 and a data storage area 400. A part of data inthe program storage area 300 and in the data storage area 400 is storedin, for example, the optical disc 4. The part of data is loaded andstored in the external main memory 12 upon execution of the gameprogram.

The program storage area 300 stores a program such as a game mainprocessing program 301 for executing processing of a flowchart shown inFIG. 12 described later, and a program such as an image generationprogram 302 for executing processing of a flowchart shown in FIG. 13 andFIG. 15 described later.

The data storage area 400 stores operation data 401, game stage data402, game image texture data 403, game image object (OBJ) data 404, mapimage texture data 405, map image object (OBJ) data 406,position/direction data 407 of objects (OBJ),position/direction/angle-of-view data 408 of the game image camera,position/direction data 409 of the map image camera, capture map imagedata 410, map enlargement factor data 411, and the like.

The operation data 401 is obtained from the controller 7, and includes acontent of an operation performed by the player. Specifically, theoperation data 401 includes a content of an operation performed with thecontroller 7, and a content of an operation (for example, a content ofan operation of the analog stick 39) performed with the extendedcontroller 36.

The game stage data 402 is a piece of data corresponding to a stage onwhich a game is progressing, which is one of plural pieces of datacorresponding to the island stage, the mountain stage, the grasslandstage, the town stage, and the like. The piece of data is loaded fromthe optical disc 4 and stored as the game stage data 402. The game stagedata 402 includes polygon vertex coordinate data 4021, game imageattribute data 4022, and map image attribute data 4023. The polygonvertex coordinate data 4021 is data indicating the coordinates ofvertices of each of polygons forming shapes (terrain etc.) on a stage inthe game space. The game image attribute data 4022 is data indicatingattributes such as “grass”, “water”, and “soil” to be assigned to thepolygons for generating a game image (see FIG. 8). The map imageattribute data 4023 is data indicating attributes such as “nothing”,“grass”, “water”, or “soil” to be assigned to the polygons forgenerating a map image (see FIG. 10). Here, unlike the game imageattribute data 4022, the map image attribute data 4023 includes dataindicating the attribute of “nothing”. As is described in detail later,polygons to which the attribute of “nothing” is assigned are not placedin the game space when a map image is generated. Therefore, no shape isnot drawn on the map image by using these polygons.

The game image texture data 403 includes plural types of texture datafor game image that are used when a game image is to be generated. Asshown in FIG. 11, the game image texture data 403 includes, as anexample, game image texture data 4031 of grass, game image texture data4032 of water, game image texture data 4033 of soil, and the like. Here,when a game image is to be generated, game image textures correspondingto respective attributes assigned to polygons in the game space by usingthe game image attribute data 4022 are applied to the respectivepolygons. Specifically, when a game image is to be generated, a texturerepresenting grass which is indicated by the game image texture data4031 of grass is applied to a polygon to which the attribute of “grass”is assigned by using the game image attribute data 4022; a texturerepresenting water which is indicated by the game image texture data4032 of water is applied to a polygon to which the attribute of “water”is assigned by using the game image attribute data 4022; and a texturerepresenting soil which is indicated by the game image texture data 4033of soil is applied to a polygon to which the attribute of “soil” isassigned by using the game image attribute data 4022.

The game image object (OBJ) data 404 includes data of the player objectand the like placed in the game space when a game image is to begenerated. Specifically, the game image object data 404 includes object(OBJ) data 4041 of player, object (OBJ) data 4042 of enemy, object (OBJ)data 4043 of weapon, and the like, which are placed in the game spacewhen a game image is to be generated. Such object data includes polygondata, attribute data of polygons, texture data, and the like which areused for forming objects by using polygons in the game space.

The map image texture data 405 includes plural types of texture data formap image that are used when a map image is to be generated. As shown inFIG. 11, the map image texture data 405 includes, as an example, mapimage texture data 4051 of grass, map image texture data 4052 of water,map image texture data 4053 of soil, and the like. Here, when a mapimage is to be generated, map image textures corresponding to respectiveattributes assigned to polygons in the game space by using the map imageattribute data 4023 are applied to the respective polygons.Specifically, when a map image is to be generated, a texturerepresenting grass which is indicated by the map image texture data 4051of grass is applied to a polygon to which the attribute of “grass” isassigned by using the map image attribute data 4023; a texturerepresenting water which is indicated by the map image texture data 4052of water is applied to a polygon to which the attribute of “water” isassigned by using the map image attribute data 4023; and a texturerepresenting soil which is indicated by the map image texture data 4053of soil is applied to a polygon to which the attribute of “soil” isassigned by using the map image attribute data 4023. It is noted that ifthe attribute of “nothing” is assigned to a polygon by using the mapimage attribute data 4023, the polygon is not formed in the game spacewhen a map image is generated. Accordingly, the map image texture data405 does not include map image texture data corresponding to theattribute of “nothing”.

The map image object (OBJ) data 406 is data of an image representing aplayer object placed on a map image (hereinafter, referred to as acapture map image) that is formed by paint data generated byscreen-capturing a map image (hereinafter, referred to as a rendered mapimage) generated through imaging processing. Typically, the map imageobject (OBS) data 406 is image data (4061) of an icon indicating theplayer object.

The position/direction data 407 of objects is data indicating thepositions and the directions (orientations) of objects (including theplayer object) in the game space.

The position/direction/angle-of-view data 408 of the game image camerais data indicating the position, the direction (shooting direction), andthe angle of view (shooting angle of view), in the game space, of thegame image camera that shoots the game space when a game image is to begenerated. Here, the position, the direction, and the angle of view ofthe game image camera are changed in accordance with a movement of theplayer object, or the like.

The position/direction data 409 of the map image camera is dataindicating the position and the direction (shooting direction) of themap image camera that shoots the game space from above when a renderedmap image is to be generated. The position of the map image camera is afixed position above in the game space. The direction of the map imagecamera is a fixed direction in which the map image camera looksvertically down on the game space from the fixed position. It is notedthat the map image camera shoots, by parallel projection, the entiretyof the game stage that is a shooting target. In addition, since the mapimage camera performs shooting by parallel projection, theposition/direction data 409 of the map image camera does not includedata of the angle of view of the map image camera.

The capture map image data 410 is data indicating a capture map image ofthe entirety of a game stage, which is obtained by screen-capturing arendered map image of the entirety of the game stage, which is generatedby imaging with the map image camera.

The map enlargement factor data 411 is data indicating an enlargementfactor at which a capture map image is displayed on the television 2.Specifically, the enlargement factor is minimum when a capture map imageof the entirety of a game stage is displayed on the television 2. When acapture map image of a certain area of a game stage is displayed on thetelevision 2, the enlargement factor is set in accordance with the sizeof the certain area.

Next, with reference to FIG. 12 to FIG. 17, a flow of the game processexecuted by the game apparatus 3 will be described. When the gameapparatus 3 is powered on, the CPU 10 of the game apparatus 3 executesthe boot program stored in the ROM/RTC 13, whereby units such as theexternal main memory 12 are initialized. Then, a game program stored inthe optical disc 4 is loaded onto the external main memory 12, and theCPU 10 starts to execute the game program.

FIG. 12 is an example of a flowchart of the game process executed by theCPU 10. The process shown in the flowchart in FIG. 12 is repeatedlyexecuted every frame (for example, every 1/60 second). It is noted thatthe description of other game processes which do not directly relate tothe present invention is omitted below.

First, in step S1, the CPU 10 determines whether or not a game stage hasbeen shifted. If the result of the determination in step S1 is YES, theprocess proceeds to step S2. Here, in the case where processing of stepS1 is performed for the first time after the game process is started,the CPU 10 determines YES in step S1. On the other hand, if the resultof the determination in step S1 is NO, the process proceeds to step S6.It is noted that if a game stage (e.g., an island stage) has been, forexample, cleared, the stage is shifted (switched) to the next stage(e.g., a mountain stage).

In step S2, the CPU 10 writes, as the game stage data 402, data of agame stage of the shifting destination (or the first game stage) storedin the optical disc 4, into the external main memory 12. Thereafter, theprocess proceeds to step S3. It is noted that hereinafter, a game stagegenerated based on the game stage data 402 written in the external mainmemory 12 may be referred to as the present game stage.

In step S3, the CPU 10 writes, as the position/direction data 407 ofobjects, into the external main memory 12, initial value data of thepositions and the directions of objects such as a player and enemiescorresponding to the game stage data 402 written into the external mainmemory 12 in step S2. Thereafter, the process proceeds to step S4.

In step S4, the CPU 10 writes, as the position/direction/angle-of-viewdata 408 of the game image camera, into the external main memory 12,initial value data of the position, the direction, and the angle of viewof the game image camera corresponding to the game stage data 402written into the external main memory 12 in step S2. Thereafter, theprocess proceeds to step S5.

In step S5, the GPU 11 b of the system LSI 11 executes game imagedrawing processing to generate a game image.

FIG. 13 is an example of a flowchart of the game image drawingprocessing executed by the GPU 11 b. Hereinafter, with reference to FIG.13, the game image drawing processing of step S5 in FIG. 12 will bedescribed.

First, in step S501, based on the game stage data 402 (see FIG. 11)written in the external main memory 12, the GPU 11 b places polygons inthe game space. Specifically, the GPU 11 b places polygons in the gamespace by using the polygon vertex coordinate data 4021, and therebyforms the shapes (terrain etc.) on the present game stage, in the gamespace. Thereafter, the process proceeds to step S502.

In step S502, the GPU 11 b switches a virtual camera to be used to thegame image camera, and sets the position, the direction (shootingdirection), and the angle of view of the game image camera in the gamespace in accordance with the position/direction/angle-of-view data 408of the game image camera written in the external main memory 12. Here,the position, the direction (shooting direction), and the angle of viewof the game image camera are set such that, for example, the playerobject 101 is shot from the back as shown in FIG. 14. Thereafter, theprocess proceeds to step S503.

In step S503, the GPU 11 b determines whether or not game image textureshave been applied to all the polygons present within the shooting areaof the game image camera. If the result of the determination in stepS503 is YES, processing of applying game image textures to the polygonsis completed, and the process proceeds to step S506. On the other hand,the result of the determination in step S503 is NO, the process proceedsto step S504.

In step S504, the GPU 11 b selects one polygon to which a game imagetexture is yet to be applied, from among the polygons present within theshooting area of the game image camera. Thereafter, the process proceedsto step S505.

In step S505, the GPU 11 b applies (maps), to the polygon selected instep S504, a game image texture corresponding to a game image attributeassigned to the polygon. Specifically, by referring to the game imageattribute data 4022, the GPU 11 b specifies the game image attributeassigned to the polygon selected in step S504, and thereafter, byreferring to the game image texture data 403, the GPU 11 b applies, tothe polygon, the game image texture corresponding to the specified gameimage attribute. For example, if the game image attribute of “grass” isassigned to the polygon selected in step S504, the GPU 11 b applies, tothe polygon, a texture of grass represented by the game image texturedata 4031 of grass. Thereafter, the process returns to step S503.

Then, processing of steps S503, 5504, and 5505 is repeated, whereby gameimage textures are applied to all the polygons (YES in step S503), andthen the process proceeds to step S506.

In step S506, based on the game image OBJ data 404 and theposition/direction data 407 of objects written in the external mainmemory 12, the GPU 11 b places objects (player, enemies, weapons, etc.)in the game space. Thereafter, the process proceeds to step S507.

In step S507, the GPU 11 b shoots (renders) the game space by the gameimage camera set in step S502. Thereafter, the process proceeds to stepS508.

In step S508, the GPU 11 b outputs an image shot in step S507 as a gameimage to the television 2 via the AV-IC 15 or the like. Thereafter, thegame image drawing processing of step S5 in FIG. 12 is ended, and theprocess returns to step S1 in FIG. 12.

As described above, if a game stage is shifted (or a game is started),processing from step S1 to step S5 is performed, whereby a game image(see FIG. 8) is generated and displayed on the television 2.

Hereinafter, the case where a stage is not shifted (No in step S1) willbe described.

In this case, in step S6, the CPU 10 determines whether or not a mapimage (see FIG. 1) is currently displayed on the television 2. If theresult of the determination of step S6 is YES, the process proceeds tostep S12. On the other hand, if the result of the determination of stepS6 is NO, the process proceeds to step S7.

In step S7, the CPU 10 determines whether or not to switch a display ofa game image to a display of a map image. Specifically, by referring tothe operation data 401 stored in the external main memory 12, the CPU 10determines whether or not an operation of switching to a display of amap image has been performed by the player pressing the plus button (see72 g in FIG. 3) of the controller 7. If the result of the determinationof step S7 is YES, the process proceeds to step S8. On the other hand,if the result of the determination of step S7 is NO, the processproceeds to step S9.

In step S8, the GPU 11 b of the system LSI 11 executes map image drawingprocessing to generate a map image.

FIG. 15 is an example of a flowchart of the map image drawing processingexecuted by the GPU 11 b. Hereinafter, with reference to FIG. 15, themap image drawing processing of step S8 in FIG. 12 will be described.

First, in step S801, based on the game stage data 402 (see FIG. 11)stored in the external main memory 12, the GPU 11 b places all polygonsexcept polygons to which the map image attribute of “nothing” isassigned, in the game space (the present game stage). Specifically, byusing the polygon vertex coordinate data 4021 and the map imageattribute data 4023, the GPU 11 b places all polygons except polygons towhich the map image attribute of “nothing” is assigned, in the gamespace, thereby forming shapes (terrain etc.) on the present game stagein the game space. Thereafter, the process proceeds to step S802.

In step S802, the GPU 11 b switches the virtual camera to be used to themap image camera, and sets the position and the direction (shootingdirection) of the map image camera in the game space in accordance withthe position/direction data 409 of the map image camera stored in theexternal main memory 12. Here, the position and the direction (shootingdirection) of the map image camera is set such that the present gamestage is shot by the map image camera looking vertically down on thepresent game stage from above (so as to take the overhead view) asexemplified in FIG. 16. It is noted that as previously described, themap image camera shoots the entirety of the present game stage byparallel projection. Thereafter, the process proceeds to step S803.

In step S803, the GPU 11 b lists, as polygon groups, all the polygonsplaced in step S801 such that each polygon group includes polygons towhich the same map image attribute is assigned. Thereafter, the processproceeds to step S804.

In step S804, the GPU 11 b determines whether or not map image textureshave been applied to all the polygons placed in step S801. If the resultof the determination of step S804 is YES, processing of applying mapimage textures to polygons is completed, and the process proceeds tostep S807. On the other hand, if the result of the determination of stepS804 is NO, the process proceeds to step S805.

In step S805, the GPU 11 b selects one polygon group including polygonsto which map image textures are yet to be applied, from among thepolygon groups of the polygons listed in step S803. Thereafter, theprocess proceeds to step S806.

In step S806, the GPU 11 b applies (maps), to all the polygons includedin the polygon group selected in step S806, map image texturescorresponding to the map image attribute assigned to the polygons, in alump. More specifically, by referring to the map image attribute data4023, the GPU 11 b specifies the map image attribute assigned to thepolygons included in the polygon group selected in step S805.Thereafter, by referring to the map image texture data 405, the GPU 11 bapplies, to all the polygons included in the polygon group, map imagetextures corresponding to the specified map image attribute, in a lump.For example, if the map image attribute of “grass” is assigned to thepolygons included in the polygon group selected in step S805, the GPU 11b applies, to all the polygons included in the polygon group, texturesof grass represented by the map image texture data 4051 of grass, in alump. Thereafter, the process returns to step S804.

Then, processing of steps S804, S805, and S806 is repeated, whereby mapimage textures are applied to all the polygons (all the polygon groups)(YES in step S804), and then the process proceeds to step S807.

In step S807, the GPU 11 b shoots (renders) the game space by the mapimage camera set in step S802, and thereby generates a rendered mapimage. It is noted that as previously described, the map image camerashoots the entirety of the present game stage by parallel projection bylooking vertically down on the present game stage from above (so as totake the overhead view) as shown in FIG. 16. Thereafter, the processproceeds to step S808.

In step S808, the GPU 11 b screen-captures the rendered map image shotin step S807, thereby generating a capture map image formed by paintdata, and stores the capture map image as the capture map image data 410in the external main memory 12 (or updates the captured map image data410 to the capture map image). Thereafter, the process proceeds to stepS809. It is noted that the above paint data is data configuring a paintimage, and is sometimes called bit map data or raster graphic data.Therefore, a paint image may be referred to as a raster graphic image.

In step S809, the GPU 11 b places an icon indicating the player object101 on the capture map image generated in step S808, in accordance withthe map image OBJ data 406 and the position/direction data 407 ofobjects stored in the external main memory 12. Thereafter, the processproceeds to step S810.

In step S810, the GPU 11 b determines an area of the capture map imageto be displayed as a map image on the television 2, based on the mapenlargement factor data 411 and the position/direction data 407 ofobjects stored in the external main memory 12. Specifically, asexemplified in FIG. 17, the GPU 11 b determines a display area of thecapture map image that includes the player object at the vicinity of thecenter of the display area, and that has a size corresponding to anenlargement factor indicated by the map enlargement factor data 411.Thereafter, the process proceeds to step S811.

In step S811, the GPU 11 b outputs, as a map image, the display area ofthe capture map image determined in step S810 to the television 2 viathe AV-IC 15 and the like. Thereafter, the map image drawing processingof step S8 in FIG. 12 is ended, the process returns to step S1 in FIG.12.

As described above, if the player performs an operation of switching agame image to a map image (YES in step S7), the map image drawingprocessing of step S8 is performed to generate a map image (see FIG. 10)and display the map image on the television 2.

Hereinafter, the case where an operation of switching a game image to amap image has not been performed (NO in step S7) will be described.

In this case, in step S9, the CPU 10 determines whether or not theplayer has given instructions of moving the player object 101.Specifically, by referring to the operation data 401 stored in theexternal main memory 12, the CPU 10 determines whether or not the playerhas given instructions of moving the player object 101 by operating theanalog stick 39 (see FIG. 9) of the extended controller 36. If theresult of the determination of step S9 is YES, the process proceeds tostep S10. On the other hand, if the result of the determination of stepS9 is NO, the process proceeds to step S5.

If the CPU 10 has determined NO in step S9 and the process has proceededto the game image drawing processing (see FIG. 13) of step S5, theplayer object 101 does not move on a game image. Therefore, in the gameimage drawing processing of step S5 at this time, if, for example, anobject such as an enemy has moved, a game image in which the movement isreflected is generated. Thereafter, the process returns to step S1.

In step S10, the CPU 10 updates the position/direction data 407 ofobjects stored in the external main memory 12 to the latest position andthe latest direction of the player object 101, in accordance with theoperation data 401 stored in the external main memory 12. Thereafter,the process proceeds to step S11.

In step S11, the CPU 10 updates the position/direction/angle-of-viewdata 408 of the game image camera stored in the external main memory 12to the latest position, the latest direction, and the latest angle ofview of the game image camera. Here, as exemplified in FIG. 8 and FIG.14, the game image camera shoots toward the player object 101 from theback at a predetermined distance from the player object 101. Inaddition, the angle of view of the game image camera is changed inaccordance with a predetermined condition (for example, its position onthe game stage). Thus, the position, the direction, and the angle ofview of the game image camera are changed in accordance with a movementand a change in the direction of the player object 101. Thereafter, theprocess proceeds to step S5.

If the process has proceeded to the game image drawing processing (seeFIG. 13) of step S5 after step S11, the player object 101 is to move ona game image. Therefore, in the game image drawing processing of step S5at this time, the player object 101 moves, and a game image shot by thegame image camera whose position, direction, and angle of view havechanged in accordance with the movement of the player object, isgenerated. It is noted that along with the movement, objects such asenemies can move. Thereafter, the process returns to step S1.

Hereinafter, the case where a map image is displayed on the television 2(YES in step S6) will be described.

In this case, in step S12, the CPU 10 determines whether or not toswitch a display of a map image to a display of a game image.Specifically, by referring to the operation data 401 stored in theexternal main memory 12, the CPU 10 determines whether or not anoperation of switching to a display of a game image has been performedby the player pressing the plus button (see 72 g in FIG. 3) of thecontroller 7. If the result of the determination of step S12 is YES, theprocess proceeds to the game image drawing processing of step S5. On theother hand, if the result of the determination of step S12 is NO, theprocess proceeds to step S13.

If the CPU 10 has determined YES in step S12 and the process hasproceeded to step S5, a game image is generated and displayed on thetelevision 2 through the game image drawing processing in FIG. 13.Therefore, in the game image drawing processing of step S5 at this time,a game image present just before it was switched to a map image in thelatest map image drawing processing (step S8) is generated as a displayimage. Thereafter, the process returns to step S1.

On the other hand, in step S13, the CPU 10 determines whether or not toenlarge or reduce a map image displayed on the television 2.Specifically, by referring to the operation data 401 stored in theexternal main memory 12, the CPU 10 determines whether or not anoperation of enlarging or reducing (zooming in or out) the map image hasbeen performed by the player pressing the right or left operationportion of the cross key (see 72 a in FIG. 3) of the controller 7. Ifthe result of the determination of step S13 is YES, the process proceedsto step S14. On the other hand, if the result of the determination ofstep S12 is NO, the process returns to step S1.

In step S14, based on the operation data 401 stored in the external mainmemory 12, the CPU 10 updates the map enlargement factor data 411 storedin the external main memory 12. Specifically, by referring to theoperation data 401, the CPU 10 specifies an operation of enlarging andreducing (zooming in or out) the map image performed by the player, andupdates the map enlargement factor data 411 to an enlargement factorcorresponding to the specified operation. Thereafter, the processproceeds to step S15.

In step S15, in accordance with the enlargement factor indicated by themap enlargement factor data 411 updated in step S14, the GPU 11 bdetermines a display area (see FIG. 17) of the capture map imagerepresented by the captured map image data 410, and outputs thedetermined display area as a map image to the television 2 via the AV-IC15 and the like. Thereafter, the process returns to step S1.

As described above, if the player has performed an operation ofenlarging or reducing a map image (YES in step S13), a map imagedisplayed on the television 2 is enlarged or reduced (zoomed in or out)through processing of steps S14 and S15.

According to the embodiment of the present invention described above,since a map image is generated by using game stage data (data thatrelates to polygons) used for generation of a game image, it is notnecessary to separately prepare a map image for each game stage. Thus,storage spaces of storage media such as the optical disc 4 and an ROM,and memories (RAM) such as the external main memory 12 can be saved. Inaddition, in the case where processing of change of terrain such as“crustal change” is performed in one game stage, the change of terraincan be immediately reflected in a map image. Moreover, at a stage ofmanufacturing a game, if game stage data is changed, a map image to begenerated is also changed along with the change of the game stage data.Therefore, a load on manufacturers is reduced.

[Modifications]

It is noted that in the embodiment described above, game image texturesare applied to polygons one by one in the game image drawing processingin FIG. 13 (steps S504 and S505). However, in the game image drawingprocessing in FIG. 13, polygons (polygon group) to which the same gameimage attribute is applied may be specified and game image textures maybe applied to the specified polygon group in a lump in the same manneras in the map image drawing processing in FIG. 15. In this case,processing of listing, as polygon groups, all the polygons presentwithin the shooting area of the game image camera such that each polygongroup includes polygons to which the same map image attribute isassigned, is added just after step S502 in the game image drawingprocessing in FIG. 13. Then, in step S504, one polygon group includingpolygons to which textures are yet to be applied is selected, and instep S505, game image textures are applied to the polygons included inthe selected polygon group, in a lump. Thus, a load of processing ofgenerating a game image is reduced.

In addition, in the embodiment described above, the map image drawingprocessing in FIG. 15 does not place, in the game space, polygons towhich the map image attribute of “nothing” is assigned, and therebyomits, from a map image, shapes (a pebble, a fallen leaf, and the like)which do not need to be depicted on the map image. However, whileplacing, in the game space, polygons to which the map image attribute of“nothing” is assigned, the map image drawing processing in FIG. 15 mayprevent map image textures from being applied to polygons to which themap image attribute of “nothing” is assigned, thereby omitting, from amap image, shapes (a pebble, a fallen leaf, and the like) which do notneed to be depicted on the map image. In this case, the map imagedrawing processing in FIG. 15 is modified to map image drawingprocessing shown in FIG. 18. Specifically, step S801 in FIG. 15 isreplaced by step S901 (processing of placing all polygons in the gamespace) in FIG. 18, step S804 in FIG. 15 is replaced by step S904(processing of determining whether or not textures have been applied toall polygons except polygons to which the map image attribute of“nothing” is assigned) in FIG. 18, and step S805 in FIG. 15 is replacedby step S905 (processing of selecting one polygon group includingpolygons to which textures are yet to be applied, from among polygongroups except polygon groups including polygons to which the map imageattribute of “nothing” is assigned) in FIG. 18.

In addition, in the embodiment described above, the game image drawingprocessing in FIG. 13 places all polygons to form the entirety of thepresent game stage (step S501), and applies game image textures to onlypolygons present within the shooting area of the game image camera(steps S503 to S505). However, in step S501, only the polygons presentwithin the shooting area of the game image camera may be placed in thegame space. Thus, a load of processing of placing polygons is reduced.

In addition, in the embodiment described above, the map image drawingprocessing in FIG. 15 places all polygons except polygons to which themap image attribute of “nothing” is assigned, to form the entirety ofthe present game stage (step S801), and shoots the entirety of thepresent game stage by the map image camera (step S807). However, in stepS807 in FIG. 15, a certain area of the present game stage including theposition of the player object 101 (for example, an area including theposition of the player object 101, among four divided areas of thepresent stage) may be shot by the map image camera. Moreover, in thiscase, polygons present within the shooting area of the map image cameraexcept polygons to which the map image attribute of “nothing” isassigned may be placed, in step S801 in FIG. 15. Thus, a load ofprocessing of placing polygons is reduced. It is noted that in thiscase, the area outside the shot certain area is not displayed on a mapimage.

In addition, the map image drawing processing in FIG. 18 described aboveplaces all polygons to form the entirety of the present game stage (stepS901), and shoots the entirety of the present game stage by the mapimage camera (step S807). However, in step S807 in FIG. 18, a certainarea of the present game stage including the position of the playerobject 101 (for example, an area including the position of the playerobject 101, among four divided areas of the present stage) may be shotby the map image camera. Moreover, in this case, in step S901 in FIG.18, polygons present within the shooting area of the map image cameramay be placed. Thus, a load of processing of placing polygons isreduced. It is noted that in this case, the area outside the shotcertain area is not displayed on a map image.

In addition, in the embodiment described above, as shown in FIG. 8 andFIG. 14, the game image camera shoots toward the player object 101 fromthe back to generate a game image. However, the game image camera shootstoward the player object 101 from any direction to form a game image.For example, the game image camera may shoot toward the player object101 from the front, or may shoot toward the player object 101 from theabove. In addition, the game image camera may shoot from a perspectiveof the player object 101.

In addition, in the embodiment described above, the map image drawingprocessing in FIG. 15 screen-captures a rendered map image and convertsthe resultant data to a capture map image (step S808). However,processing of step S808 of the conversion may not be performed. In thiscase, in step S811, a display area of the rendered map image isoutputted as a map image.

In addition, in the embodiment described above, the game stage data 402includes the game image attribute data 4022 and the map image attributedata 4023. However, the game stage data 402 may not include the mapimage attribute data 4023. In this case, upon generation of a gameimage, game image textures are applied to polygons, based on the gameimage attributes, and also upon generation of a map image, map imagetextures are applied to polygons, based on the game image attributes.

In addition, in the embodiment described above, one of a game image anda map image is displayed on the screen of the television 2 while thedisplay being switched between the game image and the map image inaccordance with an operation of the player (see FIG. 12). However, a mapimage smaller than a game image may be displayed so as to overlap withthe game image. Alternatively, a game image and a map image may beseparately displayed on the screen of the television 2 so as not tooverlap with each other. Alternatively, a game image and a map image maybe respectively displayed on two display sections. Specifically, a gameimage may be displayed on the screen of the television 2, and a mapimage may be displayed on a display section of a mobile terminal or thelike (not shown); or a game image may be displayed on one of two or moredisplay apparatuses provided to a game apparatus, and a map image may bedisplayed on another one of the two or more display apparatuses.

In addition, in the embodiment described above, it is preferable thatthe image size of a map image texture applied to a polygon in the mapimage drawing processing (see FIG. 15) is smaller than the image size ofa game image texture applied to a polygon in the game image drawingprocessing (see FIG. 13). Moreover, the size (image size) of a map imagetexture may be set to be significantly smaller than the size of apolygon, and a plurality of the map image textures may be applied to apolygon such that they are arranged on the polygon. Thus, the data sizeof the map image texture data 405 (see FIG. 11) is reduced, storagespaces of storage media and memories can be saved.

It is noted that in the case where the image size of the map imagetexture is set to be large, patterns that the map image texture canrepresent increase though the data size cannot be reduced unlike theabove case.

In addition, in the embodiment described above, a map image may berotated in accordance with the direction of the player object 101 or theshooting direction of the game image camera. For example, a map imagemay be displayed on the television 2 while being rotated such that thedirection in which the player object 101 faces always coincides with theupward direction on the television 2. Moreover, the direction of a mapimage may be changed in accordance with the enlargement factor of themap image. For example, when the enlargement factor of a map image islarge, the map image may be rotated such that the direction in which theplayer object 101 faces always coincides with the upward direction onthe television 2, and when the enlargement factor of the map image issmall, the map image may be displayed on the television 2 such that themap image is not rotated (for example, the map image is fixed, with itsnorthward direction being in the upward direction on the television 2).Thus, a map image is provided such that when the enlargement factor ofthe map image is large, the direction in which the player object 101faces always coincides with a predetermined direction on the television2, and such that when the enlargement factor of the map image is small,the entirety of a game stage can be grasped. As a result, the directionof a display of a map image can be selected in accordance with purposes.

In addition, in the embodiment described above, icons indicating objectssuch as enemies are not displayed on a map image. However, iconsindicating objects such as enemies as well as an icon indicating theplayer object 101 may be displayed on a map image.

In addition, in the embodiment described above, the player can move theplayer object 101 only when a game image is displayed on the television2. However, the player may be allowed to move the player object 101 alsowhen a map image is displayed on the television 2.

In addition, in the embodiment described above, the map image camerashoots an image by looking vertically down on the game space (thepresent game stage) from above (see FIG. 16). However, as exemplified inFIG. 19, the map image camera may shoot an image by looking obliquelydown on the game space (the present game stage) from above.Alternatively, the map image camera may shoot an image by looking up atthe game space (the present game stage) from below. Such shooting may beperformed when, for example, on a game stage on which the player object101 swims under a sea, a map image is to be generated with the map imagecamera looking upward from the bottom of the sea. Alternatively, the mapimage camera may shoot an image by laterally looking at the game space(the present game stage). Such shooting may be performed when, forexample, on a game stage on which the player object 101 moves in abuilding or in a hole, a map image is to be generated with the map imagecamera laterally looking at the building or the hole.

In addition, in the embodiment described above, the map image camerashoots the game space (the present game stage) by parallel projection.However, a method of shooting by the map image camera is not limitedthereto.

In addition, in the embodiment described above, the present invention isrealized by using a stationary game apparatus (see FIG. 1). However, thepresent invention may be realized in other forms, for example, by usinga hand-held game apparatus, a personal computer, a mobile telephone, ora mobile information terminal.

In addition, in the embodiment described above, a map image texture maybe a texture that executes an animation displaying a plurality of images(frames) while switching therebetween. For example, a texture thatexecutes an animation in which waves are rolling is used as a map imagetexture representing a sea, thereby enabling a map image to be dynamic.

In addition, in the embodiment described above, each of the game imagedrawing processing in FIG. 13 and the map image drawing processing inFIG. 15 applies textures to polygons, based on the attributes assignedto the polygons. However, each of the game image drawing processing inFIG. 13 and the map image drawing processing in FIG. 15 may applytextures on polygons, based on the attributes assigned to the polygons,and time information indicating actual or virtual time, a season, or thelike. For example, in the case where the attribute of “grass” isassigned to a polygon, if the time information indicates “spring”, atexture of grass with flowers may be applied to the polygon, and if thetime information indicates “autumn”, a texture of dead grass may beapplied to the polygon. In addition, in a similar manner to this, atexture may also be changed in accordance with whether during the day orduring the night.

In addition, in the embodiment described above, every time a game imageis switched to a map image, a capture map image is generated, and thegenerated capture map image is used also when the map image is enlargedor reduced to be displayed (see FIG. 12). However, every time the mapimage is enlarged or reduced to be displayed, a capture map image may begenerated. In this case, when a map image is to be enlarged or reduced,an image obtained by shooting the entirety of the game stage may bescreen-captured, a display area corresponding to an enlargement factorof the map image may be cut out from the obtained capture map image, andthe display area may be outputted as the map image. Alternatively, inthis case, when a map image is to be enlarged or reduced, a shootingarea corresponding to an enlargement factor of the map image may be setfor the map image camera, and an image shot based on the shooting areamay be directly outputted as the map image. In addition, every time agame stage is shifted (YES in step S1 in FIG. 12), a capture map imagemay be generated. This method of generating a capture map image everytime a game stage is shifted can reduce a load of processing ofgenerating a map image. On the other hand, the method of generating acapture map image every time a game image is switched to a map image orevery time a map image is enlarged or reduced, can reflect a change in agame stage (for example, a change in terrain) in the map image duringprogression of a game on the game stage.

In addition, in the embodiment described above, only the map imageattributes include the attribute of “nothing”, and the game imageattributes do not include the attribute of “nothing”. However, on thecontrary, only the game image attributes may include the attribute of“nothing”. Thus, a polygon that is displayed only on a map image and isnot displayed on a game image, is generated, and thereby the map imagecan be treated as a map indicating the position of a hidden treasure,for example.

In addition, in the embodiment described above, when a display image onthe television 2 is to be switched from a game image to a map image, theswitching may be performed with a significant visual effect instead ofperforming momentary switching. For example, a game image may becontinuously and smoothly varied from an image obtained when the playerobject 101 is viewed from the back, to an image obtained when the playerobject 101 is viewed from above. Thereafter, a map image may besuperimposed on the varied game image while the map image fading in, andthen the game image may fade out to be completely switched to the mapimage. By applying such a visual effect, even if virtual cameras usedfor a game image and a map image are different from each other, it ispossible to give the player an impression that the game image cameramoves to a position at which the game image camera looks down on theplayer object 101, and that thereby the map image is displayed.

In addition, in the embodiment described above, polygons that are not tobe placed upon generation of a map image, or polygons to which texturesare not to be applied upon generation of a map image may be determinedbased on a height (see FIG. 14 etc.) indicated by the y-axis of the gamespace. Alternatively, based on the height, polygons to which the mapimage attribute of “nothing” is to be assigned may be determined.Hereinafter, these respects will be specifically described.

For example, in the case where a “tree” or the like formed by polygonsis present at a position (whose y-coordinate is larger than that of aground) higher than a ground in the game space, if the tree is displayedon a map image, it is difficult to see the ground on the map image.Accordingly, polygons present at a position higher than the ground inthe game space are not placed upon generation of a map image.Alternatively, textures are not applied to the polygons though thepolygons are placed upon generation of a map image. Alternatively, themap image attribute of “nothing” is assigned, in advance, to thepolygons present at a position higher than the ground in the game space.Thus, the “tree” can be prevented from being depicted on a map image, inthe map image drawing processing in FIG. 15 or 18.

For example, the case where polygons present at a position higher than aground in the game space are not placed in the map image drawingprocessing in FIG. 15 is assumed. In this case, in step S801 in FIG. 15,polygons except polygons to which the map image attribute of “nothing”is assigned, and except polygons present at a position higher than theheight of the ground (a predetermined value), are placed in the gamespace.

In addition, for example, the case where polygons present at a positionhigher than a ground in the game space are not placed in the map imagedrawing processing in FIG. 18 is assumed. In this case, in step S901 inFIG. 18, polygons except polygons present at a position higher than theheight of the ground (a predetermined value), are placed in the gamespace.

In addition, for example, the case where textures are not applied topolygons present at a position higher than a ground in the game space inthe map image drawing processing in FIG. 15 is assumed. In this case, instep S803 in FIG. 15, all polygons placed in step S801 except polygonspresent at the position higher than the height of the ground (apredetermined value) in the game space are listed as polygons groups.Then, in steps S804 to S806, textures are applied to the listedpolygons.

In addition, for example, the case where textures are not applied topolygons present at a position higher than a ground in the game space inthe map image drawing processing in FIG. 18 is assumed. In this case, instep S803 in FIG. 18, all polygons placed in step S801 except polygonspresent at the position higher than the height of the ground (apredetermined value) in the game space are listed as polygons groups.Then, in steps S904, S905, and S806, textures are applied to the listedpolygons except polygons to which the attribute of “nothing” is applied.

In addition, as a modification of the embodiment described above, thecase where a detailed map image having a large enlargement factor, and awhole map image having a small enlargement factor are generated isassumed. In this case, in processing of generating the detailed mapimage, as described above, polygons present at a position higher than aground may not be placed. Alternatively, in processing of generating thedetailed map image, textures may not be applied to the polygons thoughthe polygons are placed. Alternatively, in processing of generating thedetailed map image, the “tree” may be prevented from appearing on thedetailed map image by assigning the map image attribute of “nothing” tothe polygons. Meanwhile, in processing of generating the whole mapimage, polygons forming the tree may also be placed, or textures may beapplied also to the polygons. Thus, a road and the like hidden under thetree are displayed on the detailed map image, and a forest is displayedon the whole map, whereby two map images can be selectively used.

In addition, for example, in the game place, in the case where theplayer object 101 is present on the first floor of a construction suchas a building which has a plurality of floors, the player object 101 ishidden because polygons forming the second floor, the roof, or the likeare depicted upon generation of a map image. Accordingly, in the gamespace, polygons present at a position higher than the position of theplayer object 101 are not placed upon generation of a map image.Alternatively, textures are not applied to the polygons though thepolygons are placed upon generation of a map image. Alternatively, themap image attribute of “nothing” is assigned to the polygons. Thus, afloor, the root or the like which hides the player object 101 can beprevented from being depicted on a map image in the map image drawingprocessing in FIG. 15 or 18.

In addition, for example, it is difficult in general to clearly indicateby using a map image, to the player, a shape such as a sheer cliff inthe game space, having portions extremely different in their heights.Accordingly, a map image attribute of “boundary line” is assigned topolygons forming a shape such as a sheer cliff, having portionsextremely different in their heights, and map image texturesrepresenting boundary lines (typically, contour lines) that representthe shape are applied to the polygons to which the map image attributeof “boundary line” is assigned, in the map image drawing processing inFIG. 15 or 18. Thus, a shape such as a sheer cliff, having portionsextremely different in their heights can be clearly indicated to theplayer by using a map image. Alternatively, instead of assigning the mapimage attribute of “boundary line” to the polygons, the boundary betweenpolygons present at positions extremely different in their heights maybe determined, and an object of boundary line may be placed at theboundary.

In addition, for example, in the case where a slope is formed in thegame space, map image attributes may be assigned to polygons forming theslope such that the colors of the polygons gradually vary from thehighest position to the lowest position, and thereby map image texturesdifferent in their colors may be applied to the polygons. Thus, a slopein the game space can be represented in a gradational manner on a mapimage.

In addition, thus far, the cases where a game image is depicted from athird person viewpoint are described as examples. However, a game imagemay be depicted from a first person viewpoint.

In addition, in the description thus far, the game image camera and themap image camera are separately provided, and these virtual cameras areused while being switched to each other, thereby generating a game imageand a game map. However, one virtual camera may serve as both the gameimage camera and the map image camera, and may generate a game image anda map image. In this case, one virtual camera moves between the positionfor the game image camera and the position for the map image camera,thereby generating a game image and a map image.

In addition, in the description thus far, as an example, the presentinvention is used for generating a display image of a game. However, thepresent invention is not limited thereto, and may be used for generatingdisplay images for various purposes.

In addition, in the description thus far, all the steps of processingdescribed above are executed in the game system 1 shown in FIG. 1, as anexample. However, the steps described above may be shared and executedby a plurality of apparatuses (or systems) connected to each other bywire or wirelessly. For example, among the steps described above,processing of steps S5, S8, and S15 in FIG. 12 may be executed by aterminal apparatus, and processing of the other steps in FIG. 12 may beexecuted by a server apparatus in a system including the terminalapparatus and the server apparatus.

While the invention has been described in detail, the foregoingdescription is in all aspects illustrative and not restrictive. It willbe understood that numerous other modifications and variations can bedevised without departing from the scope of the invention.

1. A computer-readable storage medium having stored therein an imageprocessing program which is executed by a computer of an imageprocessing apparatus which places a plurality of polygons in a3-dimensional virtual space, the image processing apparatus includingstorage means for storing plural types of attributes which the pluralityof polygons have, plural types of first textures corresponding to theplural types of attributes, and plural types of second texturescorresponding to the plural types of attributes, the image processingprogram causing the computer to function as: main image generation meansfor mapping each of the plural types of first textures to the polygonthat has the attribute of the type corresponding to the first texture,shooting the 3-dimensional virtual space by a first virtual camera, andthereby generating a main image; and map image generation means formapping each of the plural types of second textures to the polygon thathas the attribute of the type corresponding to the second texture,shooting the 3-dimensional virtual space by a second virtual camera, andthereby generating a map image.
 2. The computer-readable storage mediumhaving stored therein the image processing program, according to claim1, wherein the plural types of attributes stored in the storage meansinclude plural types of first attributes for the main image, and pluraltypes of second attributes for the map image, each of the plural typesof first textures corresponds to one of the plural types of firstattributes, each of the plural types of second textures corresponds toone of the plural types of second attributes, the main image generationmeans maps each of the plural types of first textures to the polygonthat has the first attribute of the type corresponding to the firsttexture, shoots the 3-dimensional virtual space by the first virtual,camera, and thereby generates the main image, and the map imagegeneration means maps each of the plural types of second textures to thepolygon that has the second attribute of the type corresponding to thesecond texture, shoots the 3-dimensional virtual space by the secondvirtual camera, and thereby generates the map image.
 3. Thecomputer-readable storage medium having stored therein the imageprocessing program, according to claim 2, wherein the image processingprogram further causes the computer to function as: placementdetermination means for determining, for at least the polygon that is tobe placed in a shooting area of the second virtual camera, whether ornot the second attribute of the polygon is of a type that causes thepolygon to be placed; and polygon placement means for placing theplurality of polygons in the 3-dimensional virtual space, and thepolygon placement means places, in the 3-dimensional virtual space, atleast all the polygons that are to be placed in a shooting area of thefirst virtual camera, when the main image generation means generates themain image, and places, in the 3-dimensional virtual space, only apolygon having the second attribute of the type that causes the polygonto be placed, among at least the polygons that are to be placed in theshooting area of the second virtual camera, when the map imagegeneration means generates the map image.
 4. The computer-readablestorage medium having stored therein the image processing program,according to claim 2, wherein the image processing program furthercauses the computer to function as: polygon placement means for placingthe plurality of polygons in the 3-dimensional virtual space; andmapping determination means for determining, for at least the polygonplaced in a shooting area of the second virtual camera, whether or notthe second attribute of the polygon is of a type that causes one of theplural types of second textures to be mapped to the polygon, and the mapimage generation means maps, only to the polygon that has the secondattribute that has been determined by the mapping determination means tobe of the type that causes one of the plural types of second textures tobe mapped to the polygon, the second texture of the type correspondingto the second attribute.
 5. The computer-readable storage medium havingstored therein the image processing program, according to claim 1,wherein the 3-dimensional virtual space to be shot by the main imagegeneration means is identical to the 3-dimensional virtual space to beshot by the map image generation means.
 6. The computer-readable storagemedium having stored therein the image processing program, according toclaim 1, wherein the first virtual camera shoots in any direction, andthe second virtual camera shoots in a fixed direction.
 7. Thecomputer-readable storage medium having stored therein the imageprocessing program, according to claim 1, wherein the second virtualcamera shoots by parallel projection.
 8. The computer-readable storagemedium having stored therein the image processing program, according toclaim 1, wherein an image size of the second textures is smaller than animage size of the first textures.
 9. The computer-readable storagemedium having stored therein the image processing program, according toclaim 1, wherein the map image generation means performs mapping to thepolygons that have the same type of attribute, in a lump.
 10. Thecomputer-readable storage medium having stored therein the imageprocessing program, according to claim 1, wherein the map imagegeneration means maps, to each of the plurality of polygons, a pluralityof the second textures of the type corresponding to the polygon, suchthat the plurality of the second textures are arranged on the polygon.11. The computer-readable storage medium having stored therein the imageprocessing program, according to claim 1, wherein the map imagegeneration means screen-captures, as a raster graphic image, an imageshot by the second virtual camera, and thereby generates the map image.12. The computer-readable storage medium having stored therein the imageprocessing program, according to claim 1, wherein the storage meansstores a first object and a second object that represent the samecharacter, the main image generation means shoots the 3-dimensionalvirtual space in which the first object is placed, and the map imagegeneration means shoots the 3-dimensional virtual space in which thesecond object is placed.
 13. The computer-readable storage medium havingstored therein the image processing program, according to claim 1,wherein the image processing program further causes the computer tofunction as: vertical direction position determination means fordetermining, for at least the polygon that is to be placed in a shootingarea of the second virtual camera, whether or not a value indicating theposition in the vertical direction of the polygon is larger than apredetermined value; and polygon placement means for placing theplurality of polygons in the 3-dimensional virtual space, and thepolygon placement means places, in the 3-dimensional virtual space, atleast all the polygons that are to be placed in a shooting area of thefirst virtual camera, when the main image generation means generates themain image, and places, in the 3-dimensional virtual space, only apolygon, a value indicating the position in the vertical direction ofwhich has been determined to be not larger than the predetermined valueby the vertical direction position determination means, among at leastthe polygons that are to be placed in the shooting area of the secondvirtual camera, when the map image generation means generates the mapimage.
 14. The computer-readable storage medium having stored thereinthe image processing program, according to claim 1, wherein the firstvirtual camera is identical to the second virtual camera.
 15. An imageprocessing apparatus which places a plurality of polygons in a3-dimensional virtual space, the image processing apparatus includingstorage means for storing plural types of attributes which the pluralityof polygons have, plural types of first textures corresponding to theplural types of attributes, and plural types of second texturescorresponding to the plural types of attributes, the image processingapparatus comprising: main image generation means for mapping each ofthe plural types of first textures to the polygon that has the attributeof the type corresponding to the first texture, shooting the3-dimensional virtual space by a first virtual camera, and therebygenerating a main image; and map image generation means for mapping eachof the plural types of second textures to the polygon that has theattribute of the type corresponding to the second texture, shooting the3-dimensional virtual space by a second virtual camera, and therebygenerating a map image.
 16. An image processing system which places aplurality of polygons in a 3-dimensional virtual space, the imageprocessing system including storage means for storing plural types ofattributes which the plurality of polygons have, plural types of firsttextures corresponding to the plural types of attributes, and pluraltypes of second textures corresponding to the plural types ofattributes, the image processing system comprising: main imagegeneration means for mapping each of the plural types of first texturesto the polygon that has the attribute of the type corresponding to thefirst texture, shooting the 3-dimensional virtual space by a firstvirtual camera, and thereby generating a main image; and map imagegeneration means for mapping each of the plural types of second texturesto the polygon that has the attribute of the type corresponding to thesecond texture, shooting the 3-dimensional virtual space by a secondvirtual camera, and thereby generating a map image.
 17. An imageprocessing method for placing a plurality of polygons in a 3-dimensionalvirtual space and generating a main image and a map image, the imageprocessing method comprising: a main image generation step of mappingeach of the plural types of first textures corresponding to plural typesof attributes which the plurality of polygons have, to the polygon thathas the attribute of the type corresponding to the first texture,shooting the 3-dimensional virtual space by a first virtual camera, andthereby generating the main image; and a map image generation step ofmapping each of the plural types of second textures corresponding toplural types of attributes which the plurality of polygons have, to thepolygon that has the attribute of the type corresponding to the secondtexture, shooting the 3-dimensional virtual space by a second virtualcamera, and thereby generating the map image.